File: /home/axxoncom/public_html/wp-content/plugins/timeliner-elementor/js/timeline.min.js
/**
* Timeliner for Elementor
* Beautiful graphical representation of a period of time for Elementor
* Exclusively on https://1.envato.market/timeliner-elementor
*
* @encoding UTF-8
* @version 1.0.4
* @copyright (C) 2018 - 2023 Merkulove ( https://merkulov.design/ ). All rights reserved.
* @license Envato License https://1.envato.market/KYbje
* @contributors Nemirovskiy Vitaliy (nemirovskiyvitaliy@gmail.com)
* @support help@merkulov.design
**/
function timeline(e,t){const i=[];let n,l=window.innerWidth,s=0;const a={forceVerticalMode:{type:"integer",defaultValue:600},horizontalStartPosition:{type:"string",acceptedValues:["bottom","top"],defaultValue:"top"},mode:{type:"string",acceptedValues:["horizontal","vertical"],defaultValue:"vertical"},moveItems:{type:"integer",defaultValue:1},rtlMode:{type:"boolean",acceptedValues:[!0,!1],defaultValue:!1},startIndex:{type:"integer",defaultValue:0},verticalStartPosition:{type:"string",acceptedValues:["left","right"],defaultValue:"left"},verticalTrigger:{type:"string",defaultValue:"15%"},visibleItems:{type:"integer",defaultValue:3}};function o(e,t,i){t.classList.add(i),e.parentNode.insertBefore(t,e),t.appendChild(e)}function r(e,t){const i=e.getBoundingClientRect(),n=window.innerHeight||document.documentElement.clientHeight,l=a.verticalTrigger.defaultValue.match(/(\d*\.?\d*)(.*)/);let s=t.unit,o=t.value,r=n;return"px"===s&&o>=n&&(console.warn('The value entered for the setting "verticalTrigger" is larger than the window height. The default value will be used instead.'),[,o,s]=l),"px"===s?r=parseInt(r-o,10):"%"===s&&(r=parseInt(r*((100-o)/100),10)),i.top<=r&&i.left<=(window.innerWidth||document.documentElement.clientWidth)&&i.top+i.height>=0&&i.left+i.width>=0}function m(e,t){e.style.webkitTransform=t,e.style.msTransform=t,e.style.transform=t}function d(e){const t=`translate3d(-${e.items[s].offsetLeft}px, 0, 0)`;m(e.scroller,t)}function c(e){s=e.settings.rtlMode?e.items.length>e.settings.visibleItems?e.items.length-e.settings.visibleItems:0:e.settings.startIndex,e.timelineEl.classList.add("timeline--horizontal"),function(e){window.innerWidth>e.settings.forceVerticalMode&&(e.itemWidth=e.wrap.offsetWidth/e.settings.visibleItems,e.items.forEach(t=>{t.style.width=e.itemWidth+"px"}),e.scrollerWidth=e.itemWidth*e.items.length,e.scroller.style.width=e.scrollerWidth+"px",function(){let t=0,i=0;e.items.forEach((e,n)=>{e.style.height="auto";const l=e.offsetHeight;n%2==0?i=l>i?l:i:t=l>t?l:t});const n=`translateY(${i}px)`;e.items.forEach((l,s)=>{s%2==0?(l.style.height=i+"px","bottom"===e.settings.horizontalStartPosition?(l.classList.add("timeline__item--bottom"),m(l,n)):l.classList.add("timeline__item--top")):(l.style.height=t+"px","bottom"!==e.settings.horizontalStartPosition?(l.classList.add("timeline__item--bottom"),m(l,n)):l.classList.add("timeline__item--top"))}),e.scroller.style.height=i+t+"px"}())}(e),d(e),function(e){if(e.items.length>e.settings.visibleItems){const t=document.createElement("button"),i=document.createElement("button"),n=e.items[0].offsetHeight;t.className="timeline-nav-button timeline-nav-button--prev",i.className="timeline-nav-button timeline-nav-button--next",t.textContent="Previous",i.textContent="Next",t.style.top=n+"px",i.style.top=n+"px",0===s?t.disabled=!0:s===e.items.length-e.settings.visibleItems&&(i.disabled=!0),e.timelineEl.appendChild(t),e.timelineEl.appendChild(i)}}(e),function(e){const t=e.timelineEl.querySelector(".timeline-divider");t&&e.timelineEl.removeChild(t);const i=e.items[0].offsetHeight,n=document.createElement("span");n.className="timeline-divider",n.style.top=i+"px",e.timelineEl.appendChild(n)}(e),function(e){const t=e.timelineEl.querySelectorAll(".timeline-nav-button"),i=e.timelineEl.querySelector(".timeline-nav-button--prev"),n=e.timelineEl.querySelector(".timeline-nav-button--next"),l=e.items.length-e.settings.visibleItems,a=parseInt(e.settings.moveItems,10);[].forEach.call(t,t=>{t.addEventListener("click",(function(t){t.preventDefault(),s=this.classList.contains("timeline-nav-button--next")?s+=a:s-=a,0===s||s<0?(s=0,i.disabled=!0,n.disabled=!1):s===l||s>l?(s=l,i.disabled=!1,n.disabled=!0):(i.disabled=!1,n.disabled=!1),d(e)}))})}(e)}function u(){i.forEach(e=>{e.timelineEl.style.opacity=0,e.timelineEl.classList.contains("timeline--loaded")||e.items.forEach(e=>{o(e.querySelector(".timeline__content"),document.createElement("div"),"timeline__content__wrap"),o(e.querySelector(".timeline__content__wrap"),document.createElement("div"),"timeline__item__inner")}),function(e){e.timelineEl.classList.remove("timeline--horizontal","timeline--mobile"),e.scroller.removeAttribute("style"),e.items.forEach(e=>{e.removeAttribute("style"),e.classList.remove("animated","fadeIn","timeline__item--left","timeline__item--right")});const t=e.timelineEl.querySelectorAll(".timeline-nav-button");[].forEach.call(t,e=>{e.parentNode.removeChild(e)})}(e),window.innerWidth<=e.settings.forceVerticalMode&&e.timelineEl.classList.add("timeline--mobile"),"horizontal"===e.settings.mode&&window.innerWidth>e.settings.forceVerticalMode?c(e):function(e){let t=0;e.items.forEach((i,n)=>{i.classList.remove("animated","fadeIn"),!r(i,e.settings.verticalTrigger)&&n>0?document.body.classList.contains("elementor-editor-active")||i.classList.add("animated"):t=n;n%2===("left"===e.settings.verticalStartPosition?1:0)&&window.innerWidth>e.settings.forceVerticalMode?i.classList.add("timeline__item--right"):i.classList.add("timeline__item--left")});for(let i=0;i<t;i+=1)e.items[i].classList.remove("animated","fadeIn");window.addEventListener("scroll",()=>{e.items.forEach(t=>{r(t,e.settings.verticalTrigger)&&t.classList.add("fadeIn")})})}(e),e.timelineEl.classList.add("timeline--loaded"),setTimeout(()=>{e.timelineEl.style.opacity=1},500)})}e.length&&[].forEach.call(e,(function(e){const n=e.id?"#"+e.id:"."+e.className,l="could not be found as a direct descendant of",s=e.dataset;let o,r,m;const d={};try{if(o=e.querySelector(".timeline__wrap"),!o)throw new Error(`Timeline: .timeline__wrap ${l} ${n}`);if(r=o.querySelector(".timeline__items"),!r)throw new Error(`Timeline: .timeline__items ${l} .timeline__wrap`);m=[].slice.call(r.children,0)}catch(e){return console.warn(e.message),!1}Object.keys(a).forEach(e=>{var i,n;d[e]=a[e].defaultValue,s[e]?d[e]=s[e]:t&&t[e]&&(d[e]=t[e]),"integer"===a[e].type?d[e]&&(i=d[e],n=e,"number"==typeof i||i%1==0||(console.warn(`Timeline: The value "${i}" entered for the setting "${n}" is not an integer.`),0))||(d[e]=a[e].defaultValue):"string"===a[e].type&&a[e].acceptedValues&&-1===a[e].acceptedValues.indexOf(d[e])&&(console.warn(`Timeline: The value "${d[e]}" entered for the setting "${e}" was not recognised.`),d[e]=a[e].defaultValue)});const c=a.verticalTrigger.defaultValue.match(/(\d*\.?\d*)(.*)/),u=d.verticalTrigger.match(/(\d*\.?\d*)(.*)/);let[,h,g]=u,f=!0;h||(console.warn("Timeline: No numercial value entered for the 'verticalTrigger' setting."),f=!1),"px"!==g&&"%"!==g&&(console.warn("Timeline: The setting 'verticalTrigger' must be a percentage or pixel value."),f=!1),"%"===g&&(h>100||h<0)?(console.warn("Timeline: The 'verticalTrigger' setting value must be between 0 and 100 if using a percentage value."),f=!1):"px"===g&&h<0&&(console.warn("Timeline: The 'verticalTrigger' setting value must be above 0 if using a pixel value."),f=!1),!1===f&&([,h,g]=c),d.verticalTrigger={unit:g,value:h},d.moveItems>d.visibleItems&&(console.warn(`Timeline: The value of "moveItems" (${d.moveItems}) is larger than the number of "visibleItems" (${d.visibleItems}). The value of "visibleItems" has been used instead.`),d.moveItems=d.visibleItems),d.startIndex>m.length-d.visibleItems&&m.length>d.visibleItems?(console.warn(`Timeline: The 'startIndex' setting must be between 0 and ${m.length-d.visibleItems} for this timeline. The value of ${m.length-d.visibleItems} has been used instead.`),d.startIndex=m.length-d.visibleItems):m.length<=d.visibleItems?(console.warn("Timeline: The number of items in the timeline must exceed the number of visible items to use the 'startIndex' option."),d.startIndex=0):d.startIndex<0&&(console.warn(`Timeline: The 'startIndex' setting must be between 0 and ${m.length-d.visibleItems} for this timeline. The value of 0 has been used instead.`),d.startIndex=0),i.push({timelineEl:e,wrap:o,scroller:r,items:m,settings:d})})),u(),window.addEventListener("resize",()=>{clearTimeout(n),n=setTimeout(()=>{const e=window.innerWidth;e!==l&&(u(),l=e)},250)})}window.jQuery&&(window.jQuery.fn.timeline=function(e){return timeline(this,e),this});